// ie polyfill
import '@babel/polyfill'

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/'
import { VueAxios, axios } from './utils/request'

// element
// import ElementUI from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'

// mock
import './mock'

import bootstrap from './core/bootstrap'
import './core/use'
import './permission' // permission control
import './utils/filter' // global filter

import './config/mainConfig'

import $ from 'jquery'
import lodash from 'lodash'
import storage from 'store'
import util, { isAuth } from '@/utils/util'

import baseData from '@/baseData'

// echarts
import echarts from 'echarts'
import './utils/echartsResizeHelper'

// css
import '../static/css/font/iconfont.css'
import '../static/css/main.less'
import '../static/css/main2.less'

// 自定义数据
import myData from '@/myData/myData'
import URLMAP from '@/config/urlConfig'
import defaultSettings from '@/config/defaultSettings'
import mappingConfig from '@/config/mappingConfig'

// 引入查看大图插件
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'

Vue.use(Viewer)
Viewer.setDefaults({
  Options: { // Options必须，否则会出现默认打开等等不可预知的错误
    'inline': true,
    'button': true, // 显示右上角关闭按钮
    'navbar': true, // 缩略图导航
    'title': false, // 是否显示当前图片的标题
    'toolbar': true, // 显示工具栏
    'tooltip': true, // 显示缩放百分比
    'movable': true, // 图片是否可移动
    'zoomable': true, // 是否可缩放
    'rotatable': false, // 是否可旋转
    'scalable': false, // 是否可翻转
    'transition': true, // 是否使用 CSS3 过度
    'fullscreen': true, // 播放时是否全屏
    'keyboard': true, // 是否支持键盘
    'url': 'data-source' // 设置大图片的 url
  }
})

Vue.config.productionTip = false

// Vue.use(ElementUI);
// mount axios Vue.$http and this.$http
Vue.use(VueAxios)
Vue.prototype.$util = util
Vue.prototype.$echarts = echarts
Vue.prototype.$baseData = baseData
Vue.prototype.$storage = storage
Vue.prototype.isAuth = isAuth // 权限方法
Vue.prototype.$myData = myData
Vue.prototype.$axios = axios
Vue.prototype.$URLMAP = URLMAP
Vue.prototype.$lodash = lodash
Vue.prototype.$defaultSettings = defaultSettings
Vue.prototype.$mappingConfig = mappingConfig

new Vue({
  router,
  store,
  created: bootstrap,
  render: h => h(App)
}).$mount('#app')
